{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4fab1c4c-bb2b-4c85-a148-f1c5e4df7d2d",
   "metadata": {},
   "source": [
    "Chapter 15\n",
    "# 最短路径问题，有向图\n",
    "Book_6《数据有道》 | 鸢尾花书：从加减乘除到机器学习"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a19cbfc5-6800-4516-a0a1-a810be37818a",
   "metadata": {},
   "outputs": [],
   "source": [
    "import networkx as nx\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "1b800cdb-5aec-47c6-a57c-da440ad699cf",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 创建图\n",
    "G = nx.DiGraph()\n",
    "G.add_nodes_from([\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\"])\n",
    "\n",
    "# 有向边\n",
    "G.add_edge(\"A\", \"B\", weight=4)\n",
    "G.add_edge(\"H\", \"A\", weight=8)\n",
    "G.add_edge(\"B\", \"C\", weight=8)\n",
    "G.add_edge(\"H\", \"B\", weight=11)\n",
    "G.add_edge(\"C\", \"D\", weight=7)\n",
    "G.add_edge(\"F\", \"C\", weight=4)\n",
    "G.add_edge(\"C\", \"I\", weight=2)\n",
    "G.add_edge(\"E\", \"D\", weight=9)\n",
    "G.add_edge(\"D\", \"F\", weight=14)\n",
    "G.add_edge(\"E\", \"F\", weight=10) # 颠倒顺序\n",
    "G.add_edge(\"G\", \"F\", weight=2)\n",
    "G.add_edge(\"G\", \"H\", weight=1)\n",
    "G.add_edge(\"I\", \"G\", weight=6)\n",
    "G.add_edge(\"H\", \"I\", weight=7)\n",
    "\n",
    "pos = nx.spring_layout(G, seed = 28)\n",
    "edge_labels = {(u, v): d[\"weight\"] for u, v, d in G.edges(data=True)}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "63f14509-5484-4649-a799-c40db0df01fb",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (6,6))\n",
    "nx.draw_networkx(G, \n",
    "                 pos = pos,\n",
    "                 node_color = '#0058FF',\n",
    "                 node_size = 180)\n",
    "nx.draw_networkx_edge_labels(G, \n",
    "                             pos = pos,\n",
    "                             edge_labels=edge_labels)\n",
    "plt.savefig('有向图.svg')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e7f68fa0-5e99-4353-afa9-4bd84532c231",
   "metadata": {},
   "source": [
    "## 指定两节点最短距离"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "2fe94b22-6bc8-40bf-90ce-357891376793",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 确定是否存在路径\n",
    "\n",
    "nx.has_path(G, \n",
    "            source = \"A\", # 始点\n",
    "            target = \"E\", # 终点\n",
    "           )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "43a49c77-5b44-4944-aee1-35cccfdb3fa0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.has_path(G, \n",
    "            source = \"E\", # 始点\n",
    "            target = \"A\", # 终点\n",
    "           )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "68dc9694-65fd-4524-a57d-01f60100025c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['E', 'F', 'C', 'I', 'G', 'H', 'A']\n"
     ]
    }
   ],
   "source": [
    "# 找到E、A节点之间的最短距离，考虑权重\n",
    "path_E_2_A = nx.shortest_path(G, \n",
    "                              source = \"E\", # 始点\n",
    "                              target = \"A\", # 终点\n",
    "                              weight=\"weight\")\n",
    "print(path_E_2_A)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "c86e9018-3791-405d-9be1-add4bf1de333",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "31"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 最短距离值\n",
    "nx.shortest_path_length(G, \n",
    "                        source = \"E\", # 始点\n",
    "                        target = \"A\", # 终点\n",
    "                        weight=\"weight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "b9815c66-6dd9-470c-b946-39194c35b9e7",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 最短路径的边，列表的每个元素为元组\n",
    "# 元组有两个元素，代表边的两个节点\n",
    "path_edges = list(zip(path_E_2_A, path_E_2_A[1:]))\n",
    "\n",
    "# 最短路径所在边：红色\n",
    "# 其他边：黑色\n",
    "edge_colors = [\"#FF5800\" \n",
    "               if edge in path_edges \n",
    "                       or tuple(reversed(edge)) in path_edges \n",
    "               else \"black\" for edge in G.edges()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "c212fe74-5c30-47a4-ba77-02c559d81911",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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N0qVKkWbNm1o1qyZ5vfkzSGtGWp7f0Pi5bQcDucPwblDWlfy+D+QyWRCURTatm3LL7/8wqxZs5g8eTKhoaF8/PHHDBw4kOjoaKcLY4BixYoRFBREXFwcfn5+3Lx5U+uSRCqOHDlCnTp1cHFx4dChQzYfxgBubm7kypUrTWGsxRDx+++/T/bs2Tl79ixnzpzho48+om7dugQHBzNmzBjmzp2rWW2aMOcNaaEho1FRhpVSlG86aV3Jc4xGo6IoivLLL78orq6uSvny5RWdTqccOHBA48q0999//ylNmjRRIiIiHHZCiyPYtGmTkjlzZqV27drKnTt3tC7H7M6dO6esWrXKqt/jg4ODFU9PT+XWrVvPPRcaGqpMnTpVMRgMys8//2y1mixFJnU5G71evZd85BebaxSi1+tRFIUOHTo8nsx09OhR6tSpo3VpmitevDhbt24lc+bML7xnduXKFb7//nu+//57aTBiZd9//z1t27alSZMm7N69m5w5c2pdktmdPXuW7777jo8//thq57x79y6FChViy5YtgDrBMyEhAUVRyJs3LyNHjqRPnz6sXr2ahATtJ6xahTnTXWgs5r6i9MmuKEuHa1ZCSld5CQkJyogRIxSdTqccP37cylXZtytXrih169ZVihUrprz++utKoUKFlL///lvrshyeyWRSPv/8cwVQBgwYoCQkJGhdktk9fPjw8a83bNig6HQ65ciRIxY/b+L3iYEDByrVqlVT9u/fn+zrpk6dqlSvXt3i9ViaXCE7I40bhSR22zKZTMk+X758eY4dO4aPj4+VK7Nvv//+Ozdu3GDVqlXs3r2bbt260apVK0JCQrQuzWElJCTQv39/Pv30U7744gvmzJmDwWDQuiyzMRqNmEymx/sxr1q1ikGDBuHt7c3Fixctfv7E0aBhw4aRLVs2GjRoQL169ViwYAH//vvv46Ymy5Yto0uXLhavx2aYM92FDQi7rig9MinK5ulWPe2NGzeUChUqKP7+/nIv1EzOnDmjfP/998r48eOV//3vf48fj46OVqpXr66sXLlSw+ocV3x8vNKmTRvFxcVFWbx4sdblmM3Vq1eVy5cvJ/n/efDgQeW1115TXF1dFX9/f+XEiRPK/fv3rV5bYGCg0r17dyV37tyKXq9XihYtqhQsWFD58MMPlejoaKvXY25pzVAJZEc0501FGVxEURLi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\n",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 可视化图\n",
    "plt.figure(figsize = (6,6))\n",
    "# 路径上的节点\n",
    "nx.draw_networkx_nodes(G, pos, \n",
    "                       nodelist = path_E_2_A,\n",
    "                       node_color = '#FF5800',\n",
    "                       node_size = 180)\n",
    "\n",
    "# 路径之外其他节点\n",
    "not_path_E_2_A = set(G.nodes()) - set(path_E_2_A)\n",
    "nx.draw_networkx_nodes(G, pos, \n",
    "                       nodelist = not_path_E_2_A,\n",
    "                       node_color = '#0058FF',\n",
    "                       node_size = 180)\n",
    "\n",
    "nx.draw_networkx_edges(G, pos, \n",
    "                       edge_color=edge_colors)\n",
    "\n",
    "nx.draw_networkx_labels(G, pos)\n",
    "nx.draw_networkx_edge_labels(\n",
    "    G, pos, edge_labels=edge_labels)\n",
    "\n",
    "plt.savefig('E、A最短距离，有向图.svg')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7bc58446-b59f-43c6-b7ba-5a25470bce45",
   "metadata": {},
   "source": [
    "## 起点为A的所有最短路径"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "326d5e1c-8c49-4511-a398-400535f290ac",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'A': ['A'], 'B': ['A', 'B'], 'C': ['A', 'B', 'C'], 'D': ['A', 'B', 'C', 'D'], 'I': ['A', 'B', 'C', 'I'], 'G': ['A', 'B', 'C', 'I', 'G'], 'F': ['A', 'B', 'C', 'I', 'G', 'F'], 'H': ['A', 'B', 'C', 'I', 'G', 'H']}\n"
     ]
    }
   ],
   "source": [
    "path_from_A = nx.shortest_path(G, \n",
    "                               source = \"A\", # 起点\n",
    "                               weight=\"weight\")\n",
    "print(path_from_A)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "3addaf5b-1f62-4436-bc5b-8cfe927717a0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'A': 0, 'B': 4, 'C': 12, 'I': 14, 'D': 19, 'G': 20, 'H': 21, 'F': 22}"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 最短距离值\n",
    "nx.shortest_path_length(G, \n",
    "                        source = \"A\", # 始点\n",
    "                        weight=\"weight\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "96e84fab-31f3-4704-b127-02caf90398c1",
   "metadata": {},
   "source": [
    "## 终点为E的所有最短路径"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "19c1d088-3119-44e0-8106-3a875f201ad5",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'E': ['E'], 'F': ['F', 'E'], 'D': ['D', 'F', 'E'], 'G': ['G', 'F', 'E'], 'I': ['I', 'G', 'F', 'E'], 'C': ['C', 'I', 'G', 'F', 'E'], 'H': ['H', 'I', 'G', 'F', 'E'], 'B': ['B', 'C', 'I', 'G', 'F', 'E'], 'A': ['A', 'B', 'C', 'I', 'G', 'F', 'E']}\n"
     ]
    }
   ],
   "source": [
    "path_2_E = nx.shortest_path(G, \n",
    "                            target = \"E\", # 终点\n",
    "                            weight=\"weight\")\n",
    "# nx.single_source_shortest_path()\n",
    "print(path_2_E)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "3dec8dbe-e53f-450a-b5a6-94868df6cca8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'E': 0}"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 最短距离值\n",
    "nx.shortest_path_length(G, \n",
    "                        target = \"E\", # 终点\n",
    "                        weight=\"weight\")\n",
    "# nx.single_source_shortest_path_length()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "37af2533-f594-48e6-b367-19b0d6793af0",
   "metadata": {},
   "source": [
    "## 图中任意两点所有最短路径"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "eb825c91-afdc-48e3-98a2-9630da6e74e5",
   "metadata": {},
   "outputs": [],
   "source": [
    "path_all = nx.shortest_path(G, \n",
    "                            weight=\"weight\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "ccdc00e8-fd4c-4137-b76a-1616cb6561a6",
   "metadata": {},
   "outputs": [],
   "source": [
    "# path_all\n",
    "# path_all.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "413a7ece-4328-4404-b4e2-4f1c95c3788f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['E', 'F', 'C', 'I', 'G', 'H', 'A']"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "path_all['E']['A']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "909760e1-bec6-4eb7-80ba-06c4afdb1b88",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\james\\AppData\\Local\\Temp\\ipykernel_3828\\3100065470.py:1: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray.\n",
      "  Shortest_path_matrix = np.array([[v[j] for j in list(path_all.keys())]\n"
     ]
    }
   ],
   "source": [
    "# Shortest_path_matrix = np.array([[v[j] for j in list(path_all.keys())] \n",
    "#           for k, v in path_all.items()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "4e06c059-bbbf-4610-bcba-72a35d9b0e5f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Shortest_path_matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "691b1892-75a2-416e-baa9-1a31c50b5c0f",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 最短距离值\n",
    "distances_all = dict(nx.shortest_path_length(G, \n",
    "                        weight=\"weight\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "0619d0b0-7d5b-4f46-a10c-f4cb58712768",
   "metadata": {},
   "outputs": [],
   "source": [
    "# distances_all"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "31c7dd54-7bfb-4f95-b8fc-22d815f763d9",
   "metadata": {},
   "outputs": [],
   "source": [
    "list_nodes = list(G.nodes())\n",
    "Shortest_D_matrix = np.full((len(G.nodes()), \n",
    "                             len(G.nodes())), np.nan)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "id": "a3aa451a-2947-488d-9903-613d846abba0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "A to E: no path\n",
      "B to E: no path\n",
      "C to E: no path\n",
      "D to E: no path\n",
      "F to E: no path\n",
      "G to E: no path\n",
      "H to E: no path\n",
      "I to E: no path\n"
     ]
    }
   ],
   "source": [
    "for i,i_node in enumerate(list_nodes):\n",
    "    for j,j_node in enumerate(list_nodes):\n",
    "        try:\n",
    "            d_ij = distances_all[i_node][j_node]\n",
    "            Shortest_D_matrix[i][j] = d_ij\n",
    "        except KeyError:\n",
    "            print(i_node + ' to ' + j_node + ': no path')\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "87968895-c451-4d39-8132-e086800f7a2c",
   "metadata": {},
   "outputs": [],
   "source": [
    "# distances_all.keys()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "0e3a4bf0-c071-43de-add9-2a64defb3b01",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ0AAAGdCAYAAADJ366iAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABxdUlEQVR4nO3dd3xT1f/H8VfTvUdKFy1QWiirZUNZMmQLshRQUZYKgjhQERAFXCDy9YeIKMoeCqgoiiwZyldkiUCZhZYySgfdM0nbpL8/KoHYVijSe1u/n+fj0ceDe89N8qZp8rnn3JMcq+Li4mKEEEIIBWjUDiCEEOJ/hxQdIYQQipGiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMjdoBbrCyslI7ghBCiLt0p19uU2WKDoCusOp+I4+jbUlRvJquVzlJ+YK8HAD4PipJ5STlezDCD4AJm86onKR8iwc3Au78RaSGGydpg5b+rnKS8n37ZCsAxq4/qXKS8i0bHg7Ao6uPqZykfF880RyAlUeuqJykfKNa17rjY2V4TQghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqToCCGEUIwUHSGEEIqRoiOEEEIxUnSEEEIopkp9y/S9sv6LdaxasYzU1BTqhzVg6vTXCY+IUDtWmb5cvYyliz9k8LDHmPjiq6pkiD1znJ83r+faxWiyM9IYNeUdmrTpBICxqIhtX37OuWMHSUtOxNHJmXrhreg7YhzuXt6KZQzVOtK9npYgDwc8HG1ZcvAqUYm55nZXe2sGNvahgY8zTrbWxKTls/FEEil5hYplrA4GR/gRWceDmu4OFBhNnLuex5oj8SRkGQBwsbNmeIsAmtZ0w9vFjmx9EYcvZ/Ll0WvkF5oUydinoTctAt3wd7WnwFhMbGo+X0clkZxTYD7GRmPF0GZ+tKnljo3GitNJuaw7mkC2wahIxgeb+NAqyIMAd3sKjCYupOSz/o8EErMN5mO61tPSvo4nwV6OONpZ89T6k+QXKpPvhitnozj440aS4i6Qm5nGkBdnE9aqQ5nHblu2gGN7ttB9xDO06TOk0jLd057OqVOn7uXd3ZXt27Yyf94cxk2YyPqvviUsrAHPjBtLWlqa2tFKOXfmFFu+/Yq6ofVVzVGg1xNQJ4RBT75Yus2g51rcBbo/NJIX5y1l5Ctvcz3hCivmTlM0o52NhvgsAxtPJJfZ/nRkIN7Odiw5GM+cvXGk5xfyXMfa2FnLOk23auzvwrazKUz94Ryzt1/ARmPFzN71sLcpeSvwcrbF08mWVYfjeWHTaT7ad4nmgW5M7FRHsYxhNZzZeyGdd3dd5INfLmGtsWJy5zoWz+Xw5n40DXDl09+u8v7eODwcbZnQ8c6/Xv+fauDjwq7oVGZuu8DcXbFYW8HU+0PMv0cAe2sNUQnZbD5V9t+sEgoNenxq1aXXqEl/e1z0kV+5FnMWF09tpWf6x0UnJyeHzz77jDZt2tC0adN7kekfWbNqBYMfGsrAQUMICQ1lxszZODg48N2mb9SOZkGXn8+7M6cxedosXF3dVM3SsEUkfR55ivC295Vqc3R2YdwbH9CsfTd8ataidv3GDHryBeIvRpORotyL6UxyHlvOpnAiMadUm4+LHXW9nFh/PJErmXqu5xaw/ngSttZWtAp0VyxjdfDWjhj2XkjjaqaeS+k6Ptp3iRou9oR4OwFwJUPP+3su8vvVLJJzCjiVmMO636/RqpY7GoXq94J9l/ntUiYJ2QbiM/UsPxyP1tmO2l6OADjaaugY7MnG40mcu57H5Qw9Kw7HE+rtTF2toyIZ5+25yL6L6VzL0nMlQ8+S367g7WJHsNfNx99+LoUfTl8nJjVfkUxlCWnWhi5DxxDWumO5x+Skp7Jz1SIGTJyGtXXlD37dddHZt28fI0eOxN/fn/nz59OtWzcOHjx4L7NVWGFBAWfPnCayXXvzPo1GQ2Rke6JOVK1Fmj6c/w6RHTrRsk2k2lEqTJ+fh5WVFY7OLmpHAUqGWgAKTTcXXSsGiozFhCj0JlRdOdlaA5BrKCr3GGc7a/ILjJhUWtPuRsa8gpKhqdqejthYaziTfHN4NSmngLS8AkK0TupktPvz91ig7PDZP1VsMvH9J3Np228oNQLrKPKYFSprSUlJrFy5kmXLlpGdnc3QoUMxGAx89913NGrU6I7vx2AwYDAYbn9gBWVkZmA0GtFqLbuIWq2WuLiL9/zx7taen7YRE32Wxcu/VDtKhRUWGPhx7ac063A/Dk7OascBICnHQHp+IQMa+fDF8UQKikx0C9Xi6WSLm8O/8rLlPWEFjIkM5GxSLlcyyl4R19Xemoeb+/NTdKqy4f5kBQxr7seFlDzzdSc3BxsKjSZ0f7nGlK0vUuX5tgIeb1WT6Ou5xGdW3ZWFy3Lgh/VoNNa07jVIsce8455O//79CQsLIyoqigULFpCQkMBHH310Vw86Z84c3N3dLX7+V1xPTuLjD95j2qy52Nnbqx2nQoxFRaz5YCYUFzPk6ZfUjmNmKobPDsXj42LH/H5h/N+DDahfw4nTSblU4RWnVfdU+1rU8nTkg71ln5A52mp4rWc9rmbo2fBHgsLpSjzW0p+a7g58duCqKo9/J0a1CSTQw5FF/72sdpQKSYw7z5Ed39Jv/Cvm5c+VcMenBdu2beO5557jmWeeoV69ev/oQadNm8bkyZMt9t2LwuPp4Ym1tXWpSQNpaWl4eys30+rvnD93hsyMdMaPGmbeZzIaiTp+lO++Xs/2fb9jbW2tYsKy3Sg4GSnJjJ+1oMr0cm64mqlnzt44HGw02GisyC0w8krnOlzO1KkdrUp6sl0QrYLcmfFjNGn5pWf4OdhqeL1XPXSFRt7bHYtRheL9aAt/IgLcmLfnIhm6m8N/2foibK01ONpqLHo7bg42ZOvLHyasDCNb16R5oBtv7YwhvYzfY1V29dxJ8rIzWfTco+Z9xSYTu9ct4cj2TUz8cF2lPO4dF51ff/2VZcuW0bJlSxo2bMjjjz/O8OHD7+pB7e3tsa+Es3xbOzsaNmrMoYMH6HZ/dwBMJhOHDh1g+CMj7vnj3Y0WrdqydJ3lpIb3336DoNrBDH98dJUuOCmJ8Twz60OcXatuz1RfVPImVMPZllqeDvxwNkXlRFXPk+2CaFvbgze2nud6bkGpdkdbDW/0rkehsZg5P8VQqELFebSFP81ruvH+3jhS/zLt/XKGjiKjiYa+LvwRnw2Ar6sdWmc7YtOUu2g/snVNWtVy5+2dMaSU8Xus6pp07E6dJi0s9q1/byrhHbsTcV/vSnvcOy46kZGRREZGsmDBAjZs2MDy5cuZPHkyJpOJn376iaCgIFxdXSst6J16fORoXp/+Ko0bN6FJeARr16xCp9MxcNBgtaMB4OTsTHCIZU/RwcERN3f3UvuVYtDlk5p0zbydnpzItbgLOLm44eapZfX814mPO8/Yae9hMhnJzijpSTq5uGFja6tIRntrK2q42Jm3tU52BLrbk1dgJENXRPMAV3ILjKTnF1LT3Z6Hwn05kZDDuet5iuSrLp5uH0Snul7M2RWLrtCIh2PJW0B+gZECYzGOthpm9q6HnY2GBT/H4mRnzY1L89n6IkUmEzzW0p+2tTxY9Otl9EUm83UaXaGRQmMxukITv8ZlMKyZH3kFRvSFRh5pEUBMaj4X05Tp2Y5qE0j7YE8+2HsRfaEJ9z8z5v+ZEcDdwQYPR1t8XUv+boM8HdAXmkjNKzBPiqhsBXodGbe8trNSEkm+FIODiyvu3r44/eUE0traBmd3L7QBQZWWqcJX3ZydnRkzZgxjxowhOjqaZcuWMXfuXKZOnUqPHj34/vvvKyPnHevdpy8Z6eksXrSQ1NQUwho0ZPGSpWiryPBaVXQ1NppPZz1v3v5+1SIAWnXpTc+hozn9+34APnh5jMXtxs/6kNAmzRXJWMvTkRc61TZvPxThC8DBy5ms+SMRdwcbhoT74vrnEMuhK1lsOye9nL/q3dAHgLcfCLPY/9G+S+y9kEZdrRP1fUpmJX4yNNzimHEbTipyRt81tGQi0JRudS32Lz8Uz2+XMgFYfywJUzFMaB+EjbWG00k5rD2aWOnZbugRVvJ+8novyxPFJfuvsO9iOgD31/dmSFM/c9sbfx576zGVLfFiNOveedm8vWvtpwCEd+pJ//FTFMnwV1bFxf/8UqvRaOSHH35g+fLld110rKys0BVW3au+jrYlF9quplfd2SlBXg4AfB+VpHKS8j0YUfIinLDpjMpJyrd4cMlMzHvw0qg0Ny78Dlr6u8pJyvftk60AGLv+pMpJyrdseElhfXR11fpIxa2+eKLkxG7lkSsqJynfqNa17vj1ck++kcDa2pqBAweq3ssRQghRtckXfgohhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqToCCGEUIwUHSGEEIqRoiOEEEIxUnSEEEIoRoqOEEIIxdyTpQ3uBSXX6BZCCHFvKbq0gRBCCHEnKrxyaGVq994vakco14FXOwNUi4Xm/riUrXKS8rWo4wbAx/vjVE5SvokdgoHqsYjbK1vOqZykfO/3awDA/J9jVU5Svpe7hAAwe+cFlZOUb2bPkhVH90Urs9ro3bgvzOuOj5WejhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqToCCGEUIwUHSGEEIqRoiOEEEIxUnSEEEIoRoqOEEIIxUjREUIIoRgpOkIIIRQjRUcIIYRipOgIIYRQTJX6lumKerxtEF3qe1NL60hBoYmTCdks/iWOK+k68zGLhkfQopaHxe2+PZ7A+ztjFE5raf0X61i1YhmpqSnUD2vA1OmvEx4RoWqmG0xGI1+t+Yxfd28jMyMNT603nXv0Z/BjY1Vb9+ha9EmObvuK65cvkJeZTr9JMwlp0d7cvnPpfM7u/8niNrWbtGTgS+8qHbVKS409Rczeb8mMj8WQnU6b0dPxD480txcZdJzZsorEU4coyMvBSetL3U79CG7fR7GMiedPcmLn16RejiE/K52ez7xOnebtLY7JSLzCoW+Wk3j+JMUmI57+tegxfgYuWh9FMibHnOLsrm9IvxKDLjud+56aQVDTdub2dc8+UObtmg8cQ6PuQxTJCHD+1DG2b1rL5dhostJTmTj9PZq362xuLy4uZvO6z/nvzs3k5+US2jCcEROm4BtQq9IyVeui0zzInW+OJXA2MQdrjRXj76vDgofDeXT57+gLTebjNp9I5PNfL5m3b21Tw/ZtW5k/bw4zZs4mPLwp69as4plxY9m8ZTtarVbVbACbN65i15aveeaV2QTWrsvF82f49D9v4uTsQp9Bw1XJVGjQ4x1Ul0adevHjojfLPKZ2eCt6jH3JvG1tY6tUvGrDWGDAPSCYWm26c2TlnFLtpzYvI/VCFC0fm4yTlw/Xo48R9c2nOLh54d+krSIZCw16tIF1CevQk58+ebtUe/b1BL6f9zJhHXrR6sER2Dk4kZ5wBWtbO0XyARQZ9HjUDCakXQ/2ff5OqfbB766x2E44fZSDX3xIULP2pY6tTAa9jqDgenTs0Z/F704t1b79mzXs3rKRMS+8gbevP5vXfcb/vfECby3+Els7+0rJVK2LzuSvT1lsv731PFsntaOBryvH47PM+/WFRtLzCpWOV641q1Yw+KGhDBxUcsYzY+Zs9u37me82fcPYp55WOR2cPxNFy3adadG2IwA+fgH89vMOYqNPq5apTkRr6kS0/ttjrG1scXa/83U9/hf5NmyJb8OW5banXzpHUOtueIeGA1CnXW8uHdhB5pULihWdWuGtqRVe/nN9+LtVBDVpTeRDY8373HwClIhmVrNxK2o2blVuu6Ob5d9h/MmD+NaLwNXbv7KjWQhv1Z7wVmUXuuLiYnZ9v4F+Q0fTPPI+AMa8OJPJj/fl2MF9tLmvR6VkuqtrOmlpaeZ/X716lTfeeINXXnmF//73v/cs2N1wtrcGIFtvWWB6NvJh67PtWDu6JePvq4O9jXqXsgoLCjh75jSR7W7+IWg0GiIj2xN14phquW5Vv1EEp44fISH+MgCXY88TfeoEzVore5ZWUfHnovjsuaGsmjaWPasXosutuovZVVVedRqQdPowusw0iouLSbkQRW5KAjXCmqkdDYBik4mrJ4/g4VuTrQteY/VLw/n23Re4dOw3taOVS5edwbVTRwhp11PtKBZSkxPIykijYbObBd7J2YW69RsTe+5kpT1uhXo6J0+epH///ly9epV69eqxfv16evfuTV5eHhqNhv/7v//j66+/ZuDAgX97PwaDAYPB8E9yl2IFvHB/CCfis7iYmm/e/9PZ6yRlGUjJNRDq48KEzsHU8nJi+ndn7unj36mMzAyMRmOpYTStVktc3EVVMv3VgGGj0OXn8dLYh9BoNJhMJoaNmkDH+5Ub16+o2uGtCG3ZATdvP7JSEvntmxVs/uA1hs5YgEZjrXa8aiN88DhObFzEzjdHY6WxxsrKiqZDn8U7pIna0QDQ5WRSaNBxfPtGWg0YSZshY4g/dZSdn75Nv8lzCQirGtdFb3Xx0G5sHRyppfDQ2u1kZZR0Htw8LHtlbh5e5rbKUKGiM2XKFMLDw1m3bh1r1qyhX79+PPDAA3z++ecATJo0iblz59626MyZM4fZs2ffdeiyvNQjlLrezoxfd9xi/+YTSeZ/X0zNJy23gI+GR1DTw4Frmfp7muHf4uAvP/Hr7u1Mmvo2gXVCuBQbzepPPsBTW4POPfupHa9MYW27mP/tHRSMd2AwK18dRfy5KGo1aq5esGom7r9bSL98nrZjZ+DoWYO02NNEbVqCg7sXPvWbqR3PvIR47WbtiOgxCADvoBCSYs9wdt/Wqll0Dv5EnVZdFL3mVJVVaJzpyJEjvPPOO3To0IH58+eTkJDAhAkT0Gg0aDQaJk2axLlzt1+zfdq0aWRlZVn8/BOTu4fQIUTLs+ujSMkt+NtjTyeWDLkEejj+o8e8W54enlhbW1sMUULJkKW3t7cqmf5q7ecLGTB8JO279qJWcCj3dX+AvoMfYfP6FWpHu2PuPv44uriTlZygdpRqw1hg4MzWNTQZMAa/xm1wDwimbqd+1GzWkdi936odDwAHFzesNNZ4+lvOrvL0DyI3PUWlVOW7HnOK7OR4Qtv3UjtKKe6eJaMt2ZnpFvuzM9PNbZWhQkUnPT0dPz8/AFxcXHB2dsbT09Pc7unpSU5Ozm3vx97eHjc3N4ufuzW5ewid63kzacMJErNu33Op5+MCQGre3xenymJrZ0fDRo05dPCAeZ/JZOLQoQNENK0aZ+QFBj1WVpZ/GhqNNaY/zzKrg5z0FHR52Th7yMSCO2UyGSk2FpV67q2sNOYehtqsbWzxqVOfzKR4i/1ZydcUmy5dEbEHduIVFIpnYF21o5Ti7RuAu6eWsyeOmPfp8vO4eP40IQ3CK+1xKzx77a+f01DrcxsAL/cIpUdDH1799jT5BUa8nEumyOYajBQUmajp4UCPhj4cuJhOlq6QUB9nnu8awrGrmcSm5KmW+/GRo3l9+qs0btyEJuERrF2zCp1Ox8BBg1XLdKsWkZ347svlePv4EVi7Lpdiovlx0zq69HpQtUwFeh1Z12/2WrJSkki5Eou9sysOzq4c2ryW0FYdcXb3JPN6Ivs3LsXDJ4BaTcqfqfW/qMigIy810bydn55M1rWL2Dq54uRZA21IE07/sAJrWzvz8NrV3/fSZMAYxTIW6nVkpdx8rrNTk0m9GouDkysuWh8ieg1h92dz8a/fhICwplw99TuXow7R/6X3lMto0JFzS8bctCTS42Oxd3LF2auk+BXq8rl87FdaDHpSsVx/pdflcz3xZoFOSU7gysXzOLu4ofXxo/uDw/hxw0p8A4Lw9g3gu7Wf4eHlbZ7NVhkqXHRGjRqFvX3J/G29Xs/48eNxdnYGuOeTA25ncPOSaZKLH2lqsf/trdFsPZVMobGY1nU8GNaqJg621lzPMbD3fCorD1xRNOdf9e7Tl4z0dBYvWkhqagphDRqyeMlStFVkeG30xFfYuOpTln80l6zMDDy13nTvO5ghI55SLdP1S+f55r0p5u3/rl8CQMMOPej2xCRSr8Zxdv9PGPLzcPbQUrtJCyIHjcRGxtEtZF6NYf/i18zbpzYvAyCodTdaPPICrR5/hTM/rubo2v9QkJ+Lk1cNGvYdQR0FPxyacvkCW/7zqnn74FefAVC/XXe6jH6J4OYd6PjYsxzfvpHf1n+Kh28gPcbPwK+ecpMd0i9fYNfCaebtPzYtBaBu2/tp9/hkAC4d/QWKoU6rzmXehxIuxZxl/vSJ5u2Nyz4EoH23vox58Q16D3kcg17P6kVzyc/LpV6jCF6YvaDSPqMDYFVcgX7z6NGj7+i4FSsqPvZvZWVFu/d+qfDtlHLg1ZI/HF1h1RhmKIujbUmv849LVXeqcIs6JUOpH++PUzlJ+SZ2CAaoMkNKZbkxwvDKlttfQ1XL+/0aADD/51iVk5Tv5S4hAMzeeUHlJOWb2bMeAPui029zpHruC/O649dLhXo6d1NMhBBCiBvkCz+FEEIoRoqOEEIIxUjREUIIoRgpOkIIIRQjRUcIIYRipOgIIYRQjBQdIYQQipGiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGIqtLRBZVJzMTghhBD/zJ2WEunpCCGEUEyFVw6tTNVhIaWx60+qnKR8y4aXrGteHRaaO3k1R+Uk5QsPcgWqxyJuVX1hL6geiwoeis1UN8jfaBviAUBabpG6Qf6G1uXOS4n0dIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqrUt0xXVHLMKc7u+ob0KzHostO576kZBDVtZ25f9+wDZd6u+cAxNOo+RJGMfRp60yLQDX9XewqMxcSm5vN1VBLJOQXmY2w0Vgxt5kebWu7YaKw4nZTLuqMJZBuMimQsz/ov1rFqxTJSU1OoH9aAqdNfJzwiQtVMN4x/tB8pyYml9vd+8GGeen6qComqh/OnjrF901oux0aTlZ7KxOnv0bxdZ3N7cXExm9d9zn93biY/L5fQhuGMmDAF34BaqmU2GY18teYzft29jcyMNDy13nTu0Z/Bj42tUutw6fLz+Gb1En4/8DPZmRnUDqnP4+Neom5YI7WjAbBq+Wf8smcXly9dxN7egfCmzZjw3EvUrhOsaI5qXXSKDHo8agYT0q4H+z5/p1T74HfXWGwnnD7KwS8+JKhZe6UiElbDmb0X0rmUrkOjsWJwuC+TO9fh9W0XKDCWfHX+8OZ+hPu78ulvV9EVGnm0RQATOtZi7u44xXL+1fZtW5k/bw4zZs4mPLwp69as4plxY9m8ZTtarVa1XDe8t3gNJtPNonwlLpY3p0ygXefuKqaq+gx6HUHB9ejYoz+L3y1dnLd/s4bdWzYy5oU38Pb1Z/O6z/i/N17grcVfYmtnr0Ji2LxxFbu2fM0zr8wmsHZdLp4/w6f/eRMnZxf6DBquSqayLPvwHeIvxTL+5Vl4amuwf8825k6fyNwlG/Dy9lE7HseO/s6QoY/QsHETjEYjny5awAsTnuSLb37A0dFJsRzVenitZuNWNOv/BEFNyy4ijm5eFj/xJw/iWy8CV29/xTIu2HeZ3y5lkpBtID5Tz/LD8Wid7ajt5ViS0VZDx2BPNh5P4tz1PC5n6FlxOJ5Qb2fqah0Vy/lXa1atYPBDQxk4aAghoaHMmDkbBwcHvtv0jWqZbuXu4Ymnl7f55+jB/+IXEEjjpi3Vjlalhbdqz6DHx9OiXZdSbcXFxez6fgP9ho6meeR9BAXXY8yLM8lMT+XYwX3Kh/3T+TNRtGzXmRZtO+LjF0Dkfd2JaNmW2OjTqmX6qwKDniO/7mX42Ek0CG+Bb0AQg0c8jW9AELt/rBqvmQUff8YDDw6ibkg96tVvwIzZ75KUlMi5M2cUzVGhorNnzx4aNWpEdnbpRZmysrJo3Lgx//3vf+9ZuHtJl53BtVNHCGnXU9UcTrbWAOQVlJyl1/Z0xMZaw5nkXPMxSTkFpOUVEKJV7uzjVoUFBZw9c5rIdjeLuUajITKyPVEnjqmS6e8UFhayb9dWuvUeUKWGW6qb1OQEsjLSaNistXmfk7MLdes3JvaceosX1m8UwanjR0iIvwzA5djzRJ86QbPWyo1Y3I7RaMRkMmJra2ex387OnvOnT6iU6u/l5pQspOjm7q7o41ZoeG3BggU89dRTuLm5lWpzd3dn3LhxfPDBB3Tq1Olv78dgMGAwGCqW9B+6eGg3tg6O1FJwaO2vrIBhzf24kJJHQlbJ/9/NwYZCowldocni2Gx9EW4O6ox+ZmRmYDQaSw2jabVa4uIuqpLp7xzev5e83Fy69uqvdpRqLSsjDQA3Dy+L/W4eXuY2NQwYNgpdfh4vjX0IjUaDyWRi2KgJdLy/j2qZ/srRyZnQhuF89+VyAmoF4+7hxYFfdnLh3El8/QPVjleKyWRiwfy5RDRrQUhoPUUfu0I9nRMnTtC7d+9y23v27MnRo0dvez9z5szB3d3d4qeyXTz4E3VadcH6L2ciSnqspT813R347MBV1TL8G+3etpnmbdrj5V1D7SiiEhz85Sd+3b2dSVPfZs7idTzzyiy2fL2WX3ZuUTuahfEvz6a4uJjnRjzA6Ac7snPzBtp17olGU/WuYsyf+xYXYy/w1pz5ij92hU6lk5OTsbW1Lf/ObGxISUm57f1MmzaNyZMnW+yrzMJzPeYU2cnxdBz9aqU9xu082sKfiAA35u25SIbu5lrn2foibK01ONpqLHo7bg42ZOvVWRPd08MTa2tr0tIsz27T0tLw9vZWJVN5ricncvKPw7wy6321o1R77p4lPdvszHQ8vG4+z9mZ6QTVVfZs+FZrP1/IgOEjad+1FwC1gkNJTU5k8/oVdO7ZT7Vcf+UbEMiM95eg1+vQ5+fh4eXNojnTqeFXU+1oFubPfZv9//2FT5auxsfXT/HHr1AJrlmzJqdOnSq3PSoqCn//21+kt7e3x83NzeKnMsUe2IlXUCiegXUr9XHK82gLf5rXdGP+3jhS8wot2i5n6Cgymmjo62Le5+tqh9bZjti0fKWjAmBrZ0fDRo05dPCAeZ/JZOLQoQNENG2uSqby7N3+PW4enrSM7Kh2lGrP2zcAd08tZ08cMe/T5edx8fxpQhqEq5arwKDHysryrUqjscZUXKxSor/n4OCIh5c3eTnZnDx6kBaR96kdCSiZKDJ/7tv8sncXi5YsJ6CmOsN+Ferp9O3bl9dff53evXvj4OBg0abT6Zg5cyb9+il35lFo0JGTkmDezk1LIj0+FnsnV5y9SqYoFuryuXzsV1oMelKxXLd6rKU/bWt5sOjXy+iLTObrNLpCI4XGYnSFJn6Ny2BYMz/yCozoC4080iKAmNR8LqbpVMkM8PjI0bw+/VUaN25Ck/AI1q5ZhU6nY+Cgwapl+iuTycSe7d/TpWc/rK2r9ex/xeh1+VxPjDdvpyQncOXieZxd3ND6+NH9wWH8uGElvgFBePsG8N3az/Dw8qa5im+cLSI78d2Xy/H28SOwdl0uxUTz46Z1dOn1oGqZyhJ19AAUg19gLZIT4lm/bCH+gXW4r2fVuNY4f+5b7Nz2I+/93yKcnJxJSy0ZlXJ2cS31fl6ZKvRKnTFjBps2baJ+/fo8++yzhIWFAXDu3Dk+/vhjjEYjr732WqUELUv65QvsWjjNvP3HpqUA1G17P+0eLxm+u3T0FyiGOq06l3kfla1raMmQxZRulr2s5Yfi+e1SJgDrjyVhKoYJ7YOwsdZwOimHtUdLf/BRSb379CUjPZ3FixaSmppCWIOGLF6yFG0VGl6L+uMQqdeTuL/3ALWjVBuXYs4yf/pE8/bGZR8C0L5bX8a8+Aa9hzyOQa9n9aK55OflUq9RBC/MXqDaZ3QARk98hY2rPmX5R3PJyszAU+tN976DGTLiKdUylUWXl8vGFYtJT72Os6sbrTt24+GRz2BjUzVOiDZ9tR6AiU+NtNg/Y9Y7PPDgIMVyWBUXV6yPevnyZZ555hl27NjBjZtaWVnRq1cvPv74Y4KD7+7TrVZWVszeeeGubquEmT1LxrTHrldv6ujtLBteMgSiK6yaww4AjrYlU5pPXs1ROUn5woNcAajgS0NRN6aG74tOVzlJ+e4LK5kF98el0h+xqCpa1CkZ2j8Um6lukL/RNsQDgLRcda7x3gmti80dv14qXIJr167N1q1bycjIICYmhuLiYurVq4enp2eFgwohhPjfctf9Pk9PT1q3bn37A4UQQog/Vb0J5EIIIf61pOgIIYRQjBQdIYQQipGiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMRVe2qCy3PiqdiGEENXPnZYS6ekIIYRQTNVY0u5PDj3mqR2hXPqfpgDg0GzibY5Uj/74xwC8suWcyknK936/BkD1WGiuigwClOnGyMDKI1dUTlK+Ua1rAdDizT0qJynfH290A6DJjJ0qJynfqbd7AtVjAck7IT0dIYQQipGiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKGYKvUt0xX1VL9mPNWvGbV93QA4ezmNd9f9xs4jcQDseH8Y9zWtZXGbz7cc57mFPymX8eGOPPVQJ2oHeJVkvJjEu59tY+f+MwD4al1594VBdItsgKuzPecvXWfesh18t/u4YhlTY08Rs/dbMuNjMWSn02b0dPzDI83tRQYdZ7asIvHUIQrycnDS+lK3Uz+C2/dRLGN51n+xjlUrlpGamkL9sAZMnf464RERaseqsq6cjeLgjxtJirtAbmYaQ16cTVirDmUeu23ZAo7t2UL3Ec/Qps8QxTKO7lCLrg1qUEfrhKHIRFR8Fgt3x3I5TWdxXHhNNyZ2rUuTmm4Yi4s5n5TLs1+cwFBkqvSMY++rQ/eGPgTXcEZfaOLE1Uz+b+cFLqXmAxDg4cCOlzqVeduX1p9g5+nrlZ6xT0NvWgS64e9qT4GxmNjUfL6OSiI5p8B8jI3GiqHN/GhTyx0bjRWnk3JZdzSBbIOx0nJV66JzLTWH15f9Qsy1DKysrBjRozFfzRpE5IRVnL2cBsCyrSd4a9V+823yDYXKZkzO5PWPNhNzJQUrrBjRvy1f/d/TRA6fy9mLSSx96wk8XB15+IUlpGbmMqxPK9a+N4YOj83jRHS8IhmNBQbcA4Kp1aY7R1bOKdV+avMyUi9E0fKxyTh5+XA9+hhR33yKg5sX/k3aKpKxLNu3bWX+vDnMmDmb8PCmrFuzimfGjWXzlu1otVrVclVlhQY9PrXq0rRzb75ZMKvc46KP/Mq1mLO4eCr/e2xRy4OvjlzjdGI21hornu0awsePNuOhTw+hLywpKOE13Vj0aFNW7L/MvB3nMZqKqe/rgkmh5Sha1fFk/eGrnLpWkvH57qEsGdmCgQt/Q1doIilLT5f3frG4zcOtAhnVsTb/vZCmSMawGs7svZDOpXQdGo0Vg8N9mdy5Dq9vu0CBseT3NLy5H+H+rnz621V0hUYebRHAhI61mLs7rtJyVevhta0HY9lxJI7YhExirmUwa+Wv5OoKaNMwwHyMTl9Ickae+Scnv+Bv7rESMu47xY5fzxB7JYWYK9eZ9fEP5OYbaBMRDEBk07osXv8Lv5++zKVraby3dAeZOTqaNwpSLKNvw5Y07DuCgIh2ZbanXzpHUOtueIeG4+TlS512vXELCCbzygXFMpZlzaoVDH5oKAMHDSEkNJQZM2fj4ODAd5u+UTVXVRbSrA1dho4hrHXHco/JSU9l56pFDJg4DWtr5c9LJ30ZxQ9RSVxMyedCch4zvz+Lv4cDDf1dzce81DOU9UfiWfnbFS6m5HM5TcdPZ1IoNCpTdJ5ZfYzNxxKJvZ7H+aRcZmw6TYCHI40CSkZdTMWQlltg8dOtUQ12nEpGV1B5vYhbLdh3md8uZZKQbSA+U8/yw/Fone2o7eUIgKOtho7Bnmw8nsS563lcztCz4nA8od7O1NU6VlquChcdk8nE8uXL6devH02aNCE8PJwHH3yQ1atXq7rolUZjxcNdGuDsYMuhMwnm/cO6NeLqVxP5/bNRvDmmE4726nXuNBorHu7VEmdHOw5FlZxJHDxxkYd6tsTTzQkrq5J2B3sb9v2u7hv6rbzqNCDp9GF0mWkUFxeTciGK3JQEaoQ1Uy1TYUEBZ8+cJrJde/M+jUZDZGR7ok4cUy1XdVdsMvH9J3Np228oNQLrqB0HAJc/X7PZuiIAPJ1sCQ90Jz2vgOWjWrDzxQ589kRzmgW5q5fRoSRjlq7skZRGAa409Hdj09FrSsay4GRrDUDen0WvtqcjNtYaziTnmo9JyikgLa+AEK1TpeWo0DtwcXExDz74IFu3bqVp06aEh4dTXFzM2bNnGTVqFJs2beK777677f0YDAYMBsPdZrbQuI43P3/4GA52NuTqChg2+zvOXSnpvm7Ye5YrydkkpuUSXrcGb4/tTP1AL4a/ufmePPYdZwwN4OdVL/2Z0cCwlz7n3MUkAEZMWc6a98aQ8Ms8CguN5OsLGDb5cy5eTVU0498JHzyOExsXsfPN0VhprLGysqLp0GfxDmmiWqaMzAyMRmOpYTStVktc3EWVUlV/B35Yj0ZjTeteg9SOAoAV8HLPUI5fySQ2JQ+Amp4lZ+FP3xfMgl0xnE/O5YFwPz4Z0YyhSw5zNV33N/dYCRmt4NW+YfxxOYOY63llHjOoRU1ir+dy4mqWotlusAKGNffjQkoeCVkl771uDjYUGk3oCi2vgWXri3BzqLyT8wrd88qVK9m3bx+7d++ma9euFm179uxh4MCBrF69mieeeOJv72fOnDnMnj274mnLcD4+nbbPrMLd2Z5Bnerz+St96fnyes5dSWP51ijzcacvpZKYnsf2ecMI9vcgLjHznjz+HWW8lEzb4XNwd3FkUPfmfP7m4/R88kPOXUxi5sR+eLg60mfcQtIy8+jfJYK188bQfcwCTsck3P7OFRD33y2kXz5P27EzcPSsQVrsaaI2LcHB3Quf+s3UjifukcS48xzZ8S1j3vnEvBy22qb2qU+IjzNjV97svWr+jLbpjwR+OFFy8hadFEObYE8GNPNn0R5lTzpe69eAUB8XRi49Uma7vY2GvhF+LPm58q6T3M5jLf2p6e7Ae7vVPyGrUNH58ssvmT59eqmCA9CtWzemTp3KunXrblt0pk2bxuTJky32ubvfXde4sMjExYRMAI5dSKZlfX8mDmrJpA9Lr3l+5FwiACEByhadwiKjuedy7OxVWjauxcRHuvDBql08M7wzLYa8zdk/ez4nz1+jQ4sQxg27j+feWa9YxvIYCwyc2bqGNqOn4deoNQDuAcFkJcQRu/db1YqOp4cn1tbWpKVZXpRNS0vD29tblUzV3dVzJ8nLzmTRc4+a9xWbTOxet4Qj2zcx8cN1iuaZ0rseHetpeWr1Ma7n3BwZSc0tuS57MdWyVxGXmoefm72iGac/EEbnsBqMWnqE5OyyR296NPbF0daaH46rcxL5aAt/IgLcmLfnIhl/DlFCSY/G1lqDo63Gorfj5mBDtr6orLu6JypUdKKiopg3b1657X369GHhwoW3vR97e3vs7Svnj0OjAfs/xy7/qmldHwCS0svuAitFY2WFvZ0NTg52AKVm3BiNxWiqyJmmyWSk2FiElZXl5T8rK42q1/Bs7exo2Kgxhw4eoNv93YGS642HDh1g+CMjVMtVnTXp2J06TVpY7Fv/3lTCO3Yn4r7eimaZ0rseXcNq8PSaYyRk6i3aEjL1XM82UOcv1x1qaZ34LSZdsYzTHwijWyMfxiw7yrW/ZLzV4JYB7I1OISNf2ZmzUFJwmtd04/29caTmWT7+5QwdRUYTDX1d+CM+GwBfVzu0znbEpuVXWqYKFZ309HR8fX3Lbff19SUjI+Mfh7pTb47pxI4jcVy9no2rox3DujXkvoha9J/+FcH+Hgzr1pAdhy+Slq0jPLgG88Z3479RVzkVl6JcxkkPsmP/aa4mZuDq7MCwPq24r1U9+k9YTPSlJGKuXGfRjEeY9sG3pGXl8WDXCO6PDGPw858qlrHIoCMvNdG8nZ+eTNa1i9g6ueLkWQNtSBNO/7ACa1s78/Da1d/30mTAGMUyluXxkaN5ffqrNG7chCbhEaxdswqdTsfAQYNVzVWVFeh1ZCTdvJidlZJI8qUYHFxccff2xcnVcsTB2toGZ3cvtAHKzaac2qc+vZv4MHnDKfINRrTOJSdnuYYi82dwVh+4wvjOwZxPziU6KZf+Tf2oo3Xi1a9PKZLxtX4N6Bvhx/NfnCCvoAity58Z9UUWnxMK8nKkZW1PJqxRfnLLYy39aVvLg0W/XkZfZDJfp9EVGik0FqMrNPFrXAbDmvmRV2BEX2jkkRYBxKTmczGt8q6LVajoGI1GbGzKv4m1tTVFRZXXLfurGh5OLHulL35ezmTlGzh1MZX+079izx+XCazhSrfmtXl2UEucHWyJT8nhu1/PM/eLA4rlA6jh5cKyt57Az9uNrFw9py5co/+Exew5dA6AgZM+4e3nBvD1h+NwcbIn9moKT76xhh2/nlEsY+bVGPYvfs28fWrzMgCCWnejxSMv0OrxVzjz42qOrv0PBfm5OHnVoGHfEdRR+cOhvfv0JSM9ncWLFpKamkJYg4YsXrIUrQyvlSvxYjTr3nnZvL1rbcnJTXinnvQfP0WtWBYeblUTgM9HNrfYP2vzWX6IKhmG/vJwPPY2Gib3CMXd0ZbzyblMXHeC+Izyexz30vC2JUV4xdhWFvtnbDrF5mM3T+AGtahJcrae32KV+WzOrbqGlkyymdKtrsX+5Yfi+e1SJgDrjyVhKoYJ7YOwsdZwOimHtUcT/3pX95RVcQXGSDQaDX369Cl3aMxgMLB9+3aMxorPQ7eyssKhR/lDd2rT/1TygnRoNlHlJOXTH/8YgFe2nFM5Sfne79cAAF2hekNzt+NoWzK0qebw4e3cuNC/8sgVlZOUb1Trkm8DafHmHpWTlO+PN7oB0GRG6WvAVcWpt3sCMHb9SZWTlG/Z8PA7fr1UqKczcuTI2x5zu0kEQggh/ndVqOisWLGisnIIIYT4H1CtvwZHCCFE9SJFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqToCCGEUIwUHSGEEIqp0NIGlamqrMkuhBCi4u60lEhPRwghhGIqtLRBZfMetV7tCOVKXTkcAIcHPlI5Sfn0P04CqsfCXodiM9UN8jfahngA1WOhuX3R6SonKd99YV4ADFr6u8pJyvftkyUrf/b55JDKScq37Zm2AMz/OVblJOV7uUvIHR8rPR0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqToCCGEUIwUHSGEEIqRoiOEEEIxUnSEEEIoRoqOEEIIxUjREUIIoZgq9S3TFTWqawijuoZSy9sZgHPXsvjP96fZfTIJgMc712VIZG0ianvi6mhLyIRNZOsKFc34VJ8mPNW3CbV93QA4eyWdd788zM6jpb8J+rtZ/enVqjZD3/6RHw7GKZbxytkoDv64kaS4C+RmpjHkxdmEtepQ5rHbli3g2J4tdB/xDG36DFEsY1l0+Xl8s3oJvx/4mezMDGqH1OfxcS9RN6yRqrn+av0X61i1YhmpqSnUD2vA1OmvEx4RoUqW86eOsX3TWi7HRpOVnsrE6e/RvF1nc3txcTGb133Of3duJj8vl9CG4YyYMAXfgFqKZRwc4UdkHQ9qujtQYDRx7noea47Ek5BlAMDFzprhLQJoWtMNbxc7svVFHL6cyZdHr5FfaFIk49Dm/rQP9iTQw5ECo4mzSbksP3iVa1l68zHP3leH5jXd8HK2Q19o5ExSLisOXSU+U/8393zvJJ4/yYmdX5N6OYb8rHR6PvM6dZq3tzgmI/EKh75ZTuL5kxSbjHj616LH+Bm4aH0qLVe17ukkpOt4++sous/eSffZO/n17HVWP9eRsICSN3gnOxv2nExkwZYzqmW8lpbL66sO0P6FDXR4YSM/n4jnqxkP0LCWl8VxkwY0pRh1vkq/0KDHp1Zdeo2a9LfHRR/5lWsxZ3Hx1CqU7O8t+/AdTh07xPiXZzHnky8Ib9GWudMnkp56Xe1oZtu3bWX+vDmMmzCR9V99S1hYA54ZN5a0tDRV8hj0OoKC6/HY+JfLbN/+zRp2b9nIiAmvMn3+UuwdHPm/N16gsMCgWMbG/i5sO5vC1B/OMXv7BWw0VszsXQ97m5K3Ky9nWzydbFl1OJ4XNp3mo32XaB7oxsROdRTL2MTflS2nrzP52zO8tuUc1hor3ukXZs4IEJOSx//9HMe4DVHM+DEaKyt4+4EwNAqtV1lo0KMNrEuHRyeU2Z59PYHv572Mh18Q/V9+j4feWEzzBx7F2tauUnNV66Kz80QCu6ISuZicy8XkXN7ddJI8fRGtQkreFJf8dJ6FW8/xe6w6L3CArYcvseP3y8QmZBGTkMmsNQfJ1RfSJszXfExEsDfPD2rO+AV7VMkY0qwNXYaOIax1x3KPyUlPZeeqRQyYOA1ra/U7yAUGPUd+3cvwsZNoEN4C34AgBo94Gt+AIHb/+I3a8czWrFrB4IeGMnDQEEJCQ5kxczYODg58t0mdjOGt2jPo8fG0aNelVFtxcTG7vt9Av6GjaR55H0HB9Rjz4kwy01M5dnCfYhnf2hHD3gtpXM3Ucyldx0f7LlHDxZ4QbycArmToeX/PRX6/mkVyTgGnEnNY9/s1WtVyV+wN/Y2t59kVncqVDB1xaTo+2HsRH1d76tVwNh+z/WwKpxJzuJ5TQGxqPqsPx+Pjao+Pq70iGWuFt6b1wJEENy971OLwd6sIatKayIfG4l0rFDefAOo0i8TRzaNSc1XronMrjZUVA9sE4WRvwxEVi8zf0WisePi+ejg72HLoXMkQoKO9DStf6ckLn/xCcma+ygnLVmwy8f0nc2nbbyg1AuuoHQcAo9GIyWTE9i9nZXZ29pw/fUKlVJYKCwo4e+Y0ke1uDmloNBoiI9sTdeKYisnKlpqcQFZGGg2btTbvc3J2oW79xsSeO6laLidbawByDUXlHuNsZ01+gRGTSuvuOduVZMzRl53R3kZDjwY1SMzWk5pboGS0MhWbTFw9eQQP35psXfAaq18azrfvvsClY79V+mNX6JS1b9++fPnll7i7uwMwd+5cxo8fj4eHBwBpaWl06tSJM2f+fjjLYDBgMNyb7nrDQHe2vXY/9rbW5BmKGLVoP+cTsu/Jfd8rjWtr+Xn+EBzsbMjVFTLsna2cu5oBwLwnO3LwbCJbDil3DaeiDvywHo3Gmta9BqkdxczRyZnQhuF89+VyAmoF4+7hxYFfdnLh3El8/QPVjgdARmYGRqMRrdZyOFKr1RIXd1GlVOXLyig5WXPzsBz6dfPwMrcpzQoYExnI2aRcrmSUfS3E1d6ah5v781N0qrLh/mQFjOtQm9OJOVzO0Fm0PdDYhzGRQTjaWnM1Q8drW6IpUqsy3kKXk0mhQcfx7RtpNWAkbYaMIf7UUXZ++jb9Js8lIKzyrjlWqKezY8cOi2Lx7rvvkp5+c7ncoqIioqOjb3s/c+bMwd3d3eLnbsUk5tB15k56vbWLlXtj+OjJNtT/85pOVXH+WgZtn9vAfZO/4vNtp/j8xe40CPLkgTZ16NI0kFc+/1XtiOVKjDvPkR3f0m/8K1hZKTR2cYfGvzyb4uJinhvxAKMf7MjOzRto17knGs2/pgP/P++p9rWo5enIB3vLLtKOthpe61mPqxl6NvyRoHC6EhM61aa2lyNzd8WUatt7IY1JX59iyuazXMvSM61HKLbW6r+OiotLCl/tZu2I6DEI76AQmvUZSq3wNpzdt7VSH7tCPZ0bQcvbvlPTpk1j8uTJFvvutvAUGk3EXc8FIOpyBs3qePF0j/q8vKrqrMteWGTiYmIWAMdiU2hZz4eJDzZFX1BEXT93kjY8ZXH8l9P6sP9MIr2mfatGXAtXz50kLzuTRc89at5XbDKxe90SjmzfxMQP16mWzTcgkBnvL0Gv16HPz8PDy5tFc6ZTw6+maplu5enhibW1dalJA2lpaXh7e6uUqnzuf04Qyc5Mx8PrZr7szHSC6tZTPM+T7YJoFeTOjB+jScsvPevUwVbD673qoSs08t7uWIwqdCCe6VibNrU9mLL5LGl5pTPmFxjJLzCSkGXgXHIuG0e3oH2wJ7/EpJdxb8pxcHHDSmONp7/lrERP/yCSYip34pUqV4Tt7e2xt6+ci2kajZXFDJKqSGNlhb2tNW+vO8yKnZZP8NGPH2XK0l/58XDVGG5r0rE7dZq0sNi3/r2phHfsTsR9vVVKZcnBwREHB0fycrI5efQgw8b8/Sw8pdja2dGwUWMOHTxAt/u7A2AymTh06ADDHxmhcrrSvH0DcPfUcvbEEWrVrQ+UTEu/eP40XfoOVjTLk+2CaFvbgze2nud6GddAHG01vNG7HoXGYub8FEOhChXnmY61aRfsydTvz5Kcc+fXaWyt1X9/sraxxadOfTKT4i32ZyVfq9Tp0lDBomNlZVVqiEXNIZcZD4WzOyqJ+LQ8XBxtGRJZiw5hPgz9zy8A+Lg54OPuQF1fVwAaBbqTqy8iPj2fzDxlLua9ObIdO36/zNWUHFwd7RjWpT73hdek/xvfk5yZX+bkgaspOVxOzlEkH0CBXkdG0jXzdlZKIsmXYnBwccXd2xcnV8teqLW1Dc7uXmgDghTLWJaoowegGPwCa5GcEM/6ZQvxD6zDfT37q5rrVo+PHM3r01+lceMmNAmPYO2aVeh0OgYOUvZN/Aa9Lp/riTffaFKSE7hy8TzOLm5offzo/uAwftywEt+AILx9A/hu7Wd4eHnTPPI+xTI+3T6ITnW9mLMrFl2hEQ/Hkrep/AIjBcZiHG01zOxdDzsbDQt+jsXJzhqnP2+brS9SZDLBhE616RKq5c3tF9AVmPB0tAUgr6CIAmMxfq723BfqxR9Xs8jSF+HtbMfDzf0pMBZz5HJm5QcECvU6slJuDjlmpyaTejUWBydXXLQ+RPQawu7P5uJfvwkBYU25eup3Lkcdov9L71VqrgoPr40aNcrcS9Hr9YwfPx5n55JpgvdqcsCd8nZ1YNFTbfF1dyBbV8iZq5kM/c8v/HImGYCRXUOYMrCJ+fgfpt8PwKSlh1i//5IiGWu4O7Jscnf8vJzJyjNw6lIa/d/4nj3Hryry+Hci8WI06965+bmNXWs/BSC8U0/6j5+iVqzb0uXlsnHFYtJTr+Ps6kbrjt14eOQz2NioP6X7ht59+pKRns7iRQtJTU0hrEFDFi9Zilal4bVLMWeZP32ieXvjsg8BaN+tL2NefIPeQx7HoNezetFc8vNyqdcoghdmL8DWTplpvgC9G5acab/9QJjF/o/2XWLvhTTqap2o7+MCwCdDwy2OGbfhJCkKzA7r17jkIw/zBjS02P/B3ovsik6lwGiisb8rA8L9cLG3JlNXyKnEHF769gxZ5cxwu9dSLl9gy39eNW8f/OozAOq3606X0S8R3LwDHR97luPbN/Lb+k/x8A2kx/gZ+NVrUt5d3hNWxRW4MDN69Og7Om7FihUVD2Jlhfeo9RW+nVJSVw4HwOGBj1ROUj79jyXDSiuPlP62g6piVOuSMeRDsZnqBvkbbUM8ANAVqj/LqDyOtiUjDPui1b028HfuCyuZBTdoadW5vvpX3z7ZCoA+nxxSOUn5tj3TFoD5P8eqnKR8L3cJueNr/BU6JbybYiKEEELcoP4VLSGEEP8zpOgIIYRQjBQdIYQQipGiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKKZCSxtUJjUXgxNCCPHP3GkpkZ6OEEIIxVSdJRaBR1cfUztCub54ojkAXRbsVzlJ+X5+oQMAV9P1KicpX5CXAwA7zlxXOUn5ejUqWbmyigwClOnGyEB1WGju+6gklZOU78EIPwA2HLt2myPVM6x5TQDOJeapnKR8Dfyd7/hY6ekIIYRQjBQdIYQQipGiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVUqW+ZrogHm/jQKsiDAHd7CowmLqTks/6PBBKzDeZjutbT0r6OJ8FejjjaWfPU+pPkFxoVzfloq5p0CtVSy9MRQ5GJ04nZfPbrZa5mlv1N0HMHNKRtHU9m/HCO/RfTFc1ani9XL2Pp4g8ZPOwxJr74qioZYk4fZ/e3X3AlNprsjDSenPouTSPvM7cfP/AL+7d/x5WL0eTnZPPqBysIrFtPlazV0fov1rFqxTJSU1OoH9aAqdNfJzwiQpUssWeO8/Pm9Vy7WPJcj5ryDk3adALAWFTEti8/59yxg6QlJ+Lo5Ey98Fb0HTEOdy9vxTJeOnOCX3/YQELceXIy0njk5bdo1LqjuX3PVys5+dsestJSsLaxISC4Pt2HjyWoXiPFMpYlLeU6K5d8yB+H9mPQ6/GvGcRzU2dRr0FjxTJU255OAx8XdkWnMnPbBebuisXaCqbeH4K9zc3/kr21hqiEbDafSlYtZ9Oabnx3IpGJG6J45dvT2Gg0zBvUGAeb0r/6h5r7U9W+qP7cmVNs+fYr6obWVzWHQa+jZnAoQ8dNLrO9QK+jbqMIBjzxjMLJqr/t27Yyf94cxk2YyPqvviUsrAHPjBtLWlqaKnkK9HoC6oQw6MkXS7cZ9FyLu0D3h0by4ryljHzlba4nXGHF3GnKZjTo8asdQr8xz5fZrvUPpN/o53n2/WU8OXshnjX8WPXOFPKyMxXNeavcnGxefXYUNtY2zJy3iEWrv2HMxMm4uLopmqPa9nTm7blosb3ktyt8OjScYC9Hzl0vWXdi+7kUABr6uiie74ZXN5+12J770wW+e7oN9X1ciErINu8P8XZiaPMAxq2PYtNTrZWOWSZdfj7vzpzG5GmzWLfiM1WzNG7ZjsYt25Xb3qZrbwDSkhOVivSvsWbVCgY/NJSBg4YAMGPmbPbt+5nvNn3D2KeeVjxPwxaRNGwRWWabo7ML4974wGLfoCdfYOHUcWSkJONZw1eJiNRv3pb6zduW2960Y3eL7d5PTODo3q0kXY4lJLxlZccr0zdfrMC7hh/PT5tt3ufnX1PxHNW2p/NXTnbWAOQWKDt8VlHOdiV1PttQZN5nb6NhRu/6fPjzRTLyC9WKVsqH898hskMnWrYp+w1AVH+FBQWcPXOayHbtzfs0Gg2Rke2JOlF1F1W8lT4/DysrKxyd1Tu5/DtFRYX8vnsLDk7O+NUOVS3H4f2/ENqgEXPfeIXHB3Tj+bHD2fHDJsVzVKinc/HiRYKDg82rFlYVVsDjrWoSfT2X+HKulVQFVsCznetwMiGbS2n55v0T76vD6cQc9l/MUC/cX+z5aRsx0WdZvPxLtaOISpSRmYHRaESr1Vrs12q1xMVdLOdWVUdhgYEf135Ksw734+B056tXKiH66AE2fvgmhQUGXDy0jHxtPs5u7qrlSUq8xrbNXzHg4RE8PGIsF86d5vOF87CxteH+3g8qlqNCPZ169eqRkpJi3h42bBjJyRW/XmIwGMjOzrb4+SdGtQkk0MORRf+9/I/up7I937UuwVon3tx23ryvfbAnzYPcWbQvTsVklq4nJ/HxB+8xbdZc7Ozt1Y4jRJmMRUWs+WAmFBcz5OmX1I5TSnDjZkyYt5Sn3lxEvWat2bBgNrlZ6p1YFptMhNRrwBNPTyKkfgN6PziEnv0GsX3z14rmqFDR+eua8Vu3biUvr+Lrds+ZMwd3d3eLn7s1snVNmge68c5PMaRXoaGpv3quSzDtgj158ZvTpOYWmPc3D3InwN2BLePbsmtSO3ZNKrluMfuBMP5viHIzSm51/twZMjPSGT9qGD06NKdHh+acOPY73278gh4dmmM0Vu0hTHHnPD08sba2LjVpIC0tDW9v5WaDVdSNgpORkszTb3xQ5Xo5AHYOjmj9ahJUvxGDxk9BY23N0T1bVcvjqfUmqE5di32BtYNJuZ6kaA5VJhJMmzaNyZMtZyHdTeEZ2bomrWq58/bOGFJueSOvap7rEkzHEC9e/OY0SbdM6Qb44vdr/Hj6usW+FSOasXhfHL/FqXNW1KJVW5au+8Zi3/tvv0FQ7WCGPz4aa2trVXKJe8/Wzo6GjRpz6OABut1fcvHbZDJx6NABhj8yQuV0ZbtRcFIS43lm1oc4u6o3ZFURxcXFGIvUOzFu2KQZ165YjgYlxF/Bx9df0RwVKjpWVlalrufczfUde3t77P/hsM2oNoG0D/bkg70X0ReacHco+a/kFxopNJb0yNwdbPBwtMXX1Q6AIE8H9IUmUvMKyFNowsELXetyf5g3M344R36BEU8nWwDyDEYKjCYy8gvLnDyQnFNQqkApxcnZmeAQy8+4ODg44ubuXmq/Ugy6fFISr5m3064nEn/xAk6urnjV8CMvJ5uMlGSy0lMBSE64AoCbpxduntoy71OUeHzkaF6f/iqNGzehSXgEa9esQqfTMXDQYFXyGHT5pCbdfK7TkxO5FncBJxc33Dy1rJ7/OvFx5xk77T1MJiPZGSW9NCcXN2xsbZXJqNeRfkvGzOuJJF6KwdHFFScXN375di0NWnbA1dOLvJwsDu/4jpz0FBpHdlYkX1kGPDyCKRNHsXHNMjp27cGFs6fZ8cM3THz5dUVzVKjoFBcXM2rUKHPB0Ov1jB8/Hmdny67tpk2VPyOiR1hJ1//1XpZvgkv2X2Hfnx+qvL++N0Oa+pnb3vjz2FuPqWwDIkoef8FDTSz2z915gR1nU8q6iSjDlZhzLHz9OfP2t8s/AqBN1z48/vxrnDz8K+s+etfcvnL+TAD6DBtN30fGKhu2mundpy8Z6eksXrSQ1NQUwho0ZPGSpWhVGl67GhvNp7Nufv7l+1WLAGjVpTc9h47m9O/7Afjg5TEWtxs/60NCmzRXJGNCbDTL37z5OaJtqxcD0LxzL/o/OZmUa1c59stM8nOycHJ1o2ZIGGNnLcQ3KFiRfGWp17Ax09/+D6s/+4gNqz/D168mTz77Cl169FU0h1XxXy/U/I3Ro0ff0XErVqyoeBArKx5dXXWnaH7xRMkfc5cF+1VOUr6fX+gAwNX0qjuDL8jLAYAdZ67f5kj19GrkA5S+hlmV3Bhh0BVW3YyOtiUZv49S9ppBRTz450nhhmPXbnOkeoY1L/kszbnEil8/V0oDf+c7fr1UqKdzN8VECCGEuOFf8+FQIYQQVZ8UHSGEEIqRoiOEEEIxUnSEEEIoRoqOEEIIxUjREUIIoRgpOkIIIRQjRUcIIYRipOgIIYRQjBQdIYQQipGiI4QQQjFSdIQQQihGio4QQgjFVGhpg8p0N4vBCSGEqBrutJRIT0cIIYRiKrSeTmU7FJupdoRytQ3xAKrHglRVfbEnqB6LZlWRQYAy3RgZSMstUjlJ+bQuJW8v1WGhuWy9MsvX3w03B2sA/riUrXKS8rWo43bHx0pPRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqToCCGEUIwUHSGEEIqRoiOEEEIxUnSEEEIopkp9y/S9oMvP45vVS/j9wM9kZ2ZQO6Q+j497ibphjVTJE3vmOD9vXs+1i9FkZ6Qxaso7NGnTCQBjURHbvvycc8cOkpaciKOTM/XCW9F3xDjcvbxVyXtDWsp1Vi75kD8O7ceg1+NfM4jnps6iXoPGquS5dOYEv/6wgYS48+RkpPHIy2/RqHVHc/uer1Zy8rc9ZKWlYG1jQ0BwfboPH0tQPXWe9+pi1fLP+GXPLi5fuoi9vQPhTZsx4bmXqF0nWO1opaz/Yh2rViwjNTWF+mENmDr9dcIjItSOZfbH70dYs3I5Z8+eJjUlhfkLPqJLt+5qxzIzGY18teYzft29jcyMNDy13nTu0Z/Bj41VdD2zf11PZ9mH73Dq2CHGvzyLOZ98QXiLtsydPpH01Ouq5CnQ6wmoE8KgJ18s3WbQcy3uAt0fGsmL85Yy8pW3uZ5whRVzp6mQ9KbcnGxefXYUNtY2zJy3iEWrv2HMxMm4uN7515ffawUGPX61Q+g35vky27X+gfQb/TzPvr+MJ2cvxLOGH6vemUJedqayQauZY0d/Z8jQR/h81Zd8+MlSioqKeGHCk+h0+WpHs7B921bmz5vDuAkTWf/Vt4SFNeCZcWNJS0tTO5qZTqejXlgYr05/Xe0oZdq8cRW7tnzN6Gen8J+lX/Ho2En88NVqtn+3QdEcFerp6HQ6du/eTb9+/QCYNm0aBoPB3G5tbc1bb72Fg4PDvU15hwoMeo78upcXZ75Pg/AWAAwe8TTHDv3K7h+/4eGRzyieqWGLSBq2iCyzzdHZhXFvfGCxb9CTL7Bw6jgyUpLxrOGrRMRSvvliBd41/Hh+2mzzPj//mqpkuaF+87bUb9623PamHS3PKHs/MYGje7eSdDmWkPCWlR2v2lrw8WcW2zNmv0vf+zty7swZmrdspVKq0tasWsHgh4YycNAQAGbMnM2+fT/z3aZvGPvU0yqnK9Gh03106HSf2jHKdf5MFC3bdaZF25IRAh+/AH77eQex0acVzVGhns6qVatYsmSJeXvRokX89ttvHDt2jGPHjrF27Vo++eSTex7yThmNRkwmI7a2dhb77ezsOX/6hEqpKkafn4eVlRWOzi6qZTi8/xdCGzRi7huv8PiAbjw/djg7ftikWp6KKioq5PfdW3BwcsavdqjacaqV3JwcANzc3VVOclNhQQFnz5wmsl178z6NRkNkZHuiThxTMVn1Ur9RBKeOHyEh/jIAl2PPE33qBM1at7/NLe+tCvV01q1bx5QpUyz2ffHFF9StWxeAtWvX8vHHH/Pii6WHkpTg6ORMaMNwvvtyOQG1gnH38OLALzu5cO4kvv6BqmSqiMICAz+u/ZRmHe7HwclZtRxJidfYtvkrBjw8godHjOXCudN8vnAeNrY23N/7QdVy3U700QNs/PBNCgsMuHhoGfnafJzdqs6bZ1VnMplYMH8uEc1aEBJaT+04ZhmZGRiNRrRarcV+rVZLXNxFlVJVPwOGjUKXn8dLYx9Co9FgMpkYNmoCHe/vo2iOChWdmJgYwsPDzdsODg5oNDc7S23atGHixIm3vR+DwWAxLHcvjX95Np//31s8N+IBNBpr6oSG0a5zTy7FnKuUx7tXjEVFrPlgJhQXM+Tpl1TNUmwyERrWiCeengRASP0GXImLYfvmr6t00Qlu3IwJ85aSn53F73u2sGHBbMa9sxgXd0+1o1UL8+e+xcXYCyxZvlbtKKISHPzlJ37dvZ1JU98msE4Il2KjWf3JB3hqa9C5Zz/FclSo6GRmZloUi5SUFIt2k8l0R8Vkzpw5zJ49+7bH3Q3fgEBmvL8EvV6HPj8PDy9vFs2ZTg0/da9J/J0bBScjJZnxsxao2ssB8NR6E1SnrsW+wNrB/LZvt0qJ7oydgyNav5po/WoSVL8R//f8CI7u2UrnQY+pHa3Kmz/3bfb/9xc+WboaH18/teNY8PTwxNrautSkgbS0NLy91Z3lWZ2s/XwhA4aPpH3XXgDUCg4lNTmRzetXKFp0KnRNJzAwkFOnTpXbHhUVRWDg7Yexpk2bRlZWlsXPvebg4IiHlzd5OdmcPHqQFpFV8wLfjYKTkhjPuDf+D2dX9YeDGjZpxrUrly32JcRfwcfXX6VEd6e4uBhjUaHaMaq04uJi5s99m1/27mLRkuUE1Kx6w9C2dnY0bNSYQwcPmPeZTCYOHTpARNPmKiarXgoMeqysLN/yNRprTMXFiuaoUE+nb9++vPHGGzzwwAOlZqjpdDpmz57NAw88cNv7sbe3x97evmJJ71DU0QNQDH6BtUhOiGf9soX4B9bhvp79K+Xxbsegyyc16Zp5Oz05kWtxF3ByccPNU8vq+a8TH3eesdPew2Qykp1Rcjbn5OKGja2tKpkHPDyCKRNHsXHNMjp27cGFs6fZ8cM3THxZvamgBr2O9Ft+j5nXE0m8FIOjiytOLm788u1aGrTsgKunF3k5WRze8R056Sk0juysWubqYP7ct9i57Ufe+79FODk5k5ZaMnrh7OKq2izUsjw+cjSvT3+Vxo2b0CQ8grVrVqHT6Rg4aLDa0czy8/O4euWKefvatXiiz53F3d0dP/8AFZOVaBHZie++XI63jx+BtetyKSaaHzeto0svZYfMrYqL77zMJScn06xZM+zs7Hj22WepX78+ANHR0SxatIiioiKOHTuGr2/Fp/paWVlxKDazwrf7q0P7fmLjisWkp17H2dWN1h278fDIZ3D6h7PB2oZ4APB9VFKFbhdz6hifzir92ZJWXXrTc+ho3p0wrMzbjZ/1IaFNKnYW92BEybDIucS8Ct2uLEd+28fqzz4i4doVfP1qMmDoCHr1/+cv8Ab+JUOHG45du82RluJOH2f5m6UnqDTv3Iv+T07mq4VvEx9zlvycLJxc3agZEkbnQY8TGNqgwhmHNS8Ziq3AS0NxNz7Ml5Zb9I/up12Lsj88O2PWOzzw4KB/dN9al5JzWl3hvfk9frlurfnDoWENGvLq9BlERDT9R/fpaFvye8zWG/9xvt+PHGb82JGl9vd7cCCz3p5z1/fr5mANwB+Xsu/6PqDkg/MbV33Kkf17ycrMwFPrTYcuvRgy4ql/fILboo7bHb9eKlR0AOLi4njmmWf46aefzA9iZWVFjx49WLx4sXkmW0Xdq6JTWe626CjpXhadynK3RUdJ/0tFpzLd66JTGe5l0aks96roVKaKFJ0Kfw1OcHAw27dvJz09nZiYGABCQ0Px8vKq6F0JIYT4H3PX373m5eVFmzZt7mUWIYQQ/3L/uu9eE0IIUXVJ0RFCCKEYKTpCCCEUI0VHCCGEYqToCCGEUIwUHSGEEIqRoiOEEEIxUnSEEEIoRoqOEEIIxUjREUIIoRgpOkIIIRQjRUcIIYRiKry0QWW58VXtQgghqp87LSXS0xFCCKGYu17aoDJU9UWKAHacua5ykvL1auQDwIRNZ1ROUr7Fg0tWqmzx5h6Vk5Tvjze6AdVjEbeP98epnKR8EzsEA9Vjwb7qsNDcyas5KicpX3iQ6x0fKz0dIYQQipGiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKGYKvUt0/+UyWjkqzWf8evubWRmpOGp9aZzj/4Mfmysauv1xJw+zu5vv+BKbDTZGWk8OfVdmkbeZ24/fuAX9m//jisXo8nPyebVD1YQWLeeohlDtY50r6clyMMBD0dblhy8SlRirrnd1d6agY19aODjjJOtNTFp+Ww8kURKXqFiGUd3qEXXBjWoo3XCUGQiKj6LhbtjuZymszguvKYbE7vWpUlNN4zFxZxPyuXZL05gKDIplrUquxZ9kqPbvuL65QvkZabTb9JMQlq0N7fvXDqfs/t/srhN7SYtGfjSu4plvHTmBL/+sIGEuPPkZKTxyMtv0ah1R3P7nq9WcvK3PWSlpWBtY0NAcH26Dx9LUL1GimUsz/ov1rFqxTJSU1OoH9aAqdNfJzwiQu1YZuMf7UdKcmKp/b0ffJinnp+qSIZ/VdHZvHEVu7Z8zTOvzCawdl0unj/Dp/95EydnF/oMGq5KJoNeR83gUCK7P8DSua+Vai/Q66jbKILmHbvx5cfvqZAQ7Gw0xGcZOHA5i6cjA0u1Px0ZiMkESw7Goy8ycX+oF891rM1bu2IpMCrzlfAtannw1ZFrnE7MxlpjxbNdQ/j40WY89Okh9IUlBSW8phuLHm3Kiv2XmbfjPEZTMfV9XTBV4SUKlFZo0OMdVJdGnXrx46I3yzymdngreox9ybxtbWOrVDwACgx6/GqH0KJrH778zxul2rX+gfQb/Tyevv4UFhg48OPXrHpnCi8uXIuzm4eiWW+1fdtW5s+bw4yZswkPb8q6Nat4ZtxYNm/ZjlarVS3Xrd5bvAaTyWjevhIXy5tTJtCuc3fFMvyris75M1G0bNeZFm1Lzop8/AL47ecdxEafVi1T45btaNyyXbntbbr2BiCtjLMPpZxJzuNMcl6ZbT4udtT1cuLtXbEk5hQAsP54EnP61qNVoDu/Xc5UJOOkL6Mstmd+f5bdL3Wkob8rx65kAfBSz1DWH4ln5W9XzMf9tSf0v65ORGvqRLT+22OsbWxxdvdSKFFp9Zu3pX7ztuW2N+1o+QbZ+4kJHN27laTLsYSEt6zseOVas2oFgx8aysBBQwCYMXM2+/b9zHebvmHsU0+rlutW7h6eFtvffrkSv4BAGjdV7vdWoaKTnX1ni6y5ubndVZh/qn6jCHZv/ZaE+MsEBNbmcux5ok+d4PFxL6qS59/ARlMyLFloutlbKAaKjMWEaB0VKzp/5WJf8qebrSsCwNPJlvBAd7adSmb5qBYEejpyKS2fxXsvcvxqlioZq6v4c1F89txQ7J1dCWrYlHaDR+Hoos5r+naKigr5ffcWHJyc8asdqlqOwoICzp45zdinxpn3aTQaIiPbE3XimGq5/k5hYSH7dm2l/0MjFL38UKGi4+Hh8bfhiouLsbKywmg0lntMZRowbBS6/DxeGvsQGo0Gk8nEsFET6Hh/H1Xy/Bsk5RhIzy9kQCMfvjieSEGRiW6hWjydbHFzUKejbAW83DOU41cyiU0p6aHV9HQE4On7glmwK4bzybk8EO7HJyOaMXTJYa6mS4/nTtQOb0Voyw64efuRlZLIb9+sYPMHrzF0xgI0Gmu145lFHz3Axg/fpLDAgIuHlpGvzcfZzV21PBmZGRiNxlLDaFqtlri4iyql+nuH9+8lLzeXrr36K/q4FXrX2Lt3r/nfxcXF9O3bl6VLl1KzZs0KPajBYMBgMFToNnfi4C8/8evu7Uya+jaBdUK4FBvN6k8+wFNbg849+93zx/tfYCqGzw7FM6K5P/P7hWE0FROdksfppNzb37iSTO1TnxAfZ8auvHkG+WeHjE1/JPDDiSQAopNiaBPsyYBm/izaUzVf+FVNWNsu5n97BwXjHRjMyldHEX8uilqNmqsX7C+CGzdjwryl5Gdn8fueLWxYMJtx7yzGxd3z9jcWAOzetpnmbdrj5V1D0cetUNHp3Lmzxba1tTWRkZHUrVu3Qg86Z84cZs+eXaHb3Im1ny9kwPCRtO/aC4BawaGkJieyef0KKTr/wNVMPXP2xuFgo8FGY0VugZFXOtfhcqbyvYcpvevRsZ6Wp1Yf43rOzROX1NyS600XUy2vTcWl5uHnZq9oxn8Tdx9/HF3cyUpOgCpUdOwcHNH61UTrV5Og+o34v+dHcHTPVjoPekyVPJ4enlhbW5OWlmaxPy0tDW9vb1Uy/Z3ryYmc/OMwr8x6X/HHVuVzOtOmTSMrK8vi514oMOixsrL8L2k01jJ76R7RF5nILTBSw9mWWp4OFtOqlTCldz26htVg/NrjJGTqLdoSMvVczzZQR+tksb+W1onErHvfq/5fkZOegi4vG2cP9SYW3Ini4mKMRcpN4f8rWzs7GjZqzKGDB8z7TCYThw4dIKJp1SnWN+zd/j1uHp60jOx4+4PvMVUG5e3t7bG3v/dnny0iO/Hdl8vx9vEjsHZdLsVE8+OmdXTp9eA9f6w7ZdDlk5J4zbyddj2R+IsXcHJ1xauGH3k52WSkJJOVngpAckLJzCs3Ty/cPJWZZmlvbUUNFzvzttbJjkB3e/IKjGToimge4EpugZH0/EJqutvzULgvJxJyOHe97BlvlWFqn/r0buLD5A2nyDcY0TqX5M01FJk/g7P6wBXGdw7mfHIu0Um59G/qRx2tE69+fUqxnFVdgV5H1vUE83ZWShIpV2Kxd3bFwdmVQ5vXEtqqI87unmReT2T/xqV4+ARQq4lys5sMeh3pSTdfM5nXE0m8FIOjiytOLm788u1aGrTsgKunF3k5WRze8R056Sk0juz8N/da+R4fOZrXp79K48ZNaBIewdo1q9DpdAwcNFjVXH9lMpnYs/17uvTsh7W18iXgHz+iWh+6LMvoia+wcdWnLP9oLlmZGXhqvenedzBDRjylWqYrMedY+Ppz5u1vl38EQJuufXj8+dc4efhX1n1084N3K+fPBKDPsNH0fWSsIhlreTryQqfa5u2HInwBOHg5kzV/JOLuYMOQcF9cHWzI1hdx6EoW286lKJLthodblVw3/Hyk5VnjrM1n+SGq5BrOl4fjsbfRMLlHKO6OtpxPzmXiuhPEZ+hL3d//quuXzvPNe1PM2/9dvwSAhh160O2JSaRejePs/p8w5Ofh7KGldpMWRA4aiY2tXXl3ec8lxEaz/M2bM063rV4MQPPOvej/5GRSrl3l2C8zyc/JwsnVjZohYYydtRDfoGDFMpald5++ZKSns3jRQlJTUwhr0JDFS5airWLDa1F/HCL1ehL39x6gyuNbFRff+djT4MGWFfuHH36gW7duODs7W+zftGlTxYNYWfHHpTubkq2GFnVKpozuOHNd5STl69XIB4AJm86onKR8iweXfGq8xZt7VE5Svj/e6AaUDNlUVTdO9j7eH6dykvJN7FBSBDYcu3abI9UzrHnJyYyusOo+1462Jc/1yas5KicpX3iQ6x2/XirU03F3t5ySOGLEiIrcXAghxP+4ChWdFStWVFYOIYQQ/wPkW6aFEEIoRoqOEEIIxUjREUIIoRgpOkIIIRQjRUcIIYRipOgIIYRQjBQdIYQQipGiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFFOhpQ0qU1Val0cIIUTF3GkpkZ6OEEIIxaiyXHV5qsOCVK9sOadykvK9368BAN//uZJmVfRghB9QPRaaqyKDAGW6MTJQHRY+PJeo3LLmFdXAv2QByqq+QBpUj4Xm7oT0dIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqrUt0xX1LXokxzd9hXXL18gLzOdfpNmEtKivbl959L5nN3/k8VtajdpycCX3lUsY2rsKWL2fktmfCyG7HTajJ6Of3ikub3IoOPMllUknjpEQV4OTlpf6nbqR3D7PopljD1znJ83r+faxWiyM9IYNeUdmrTpBICxqIhtX37OuWMHSUtOxNHJmXrhreg7YhzuXt6KZQzVOtK9npYgDwc8HG1ZcvAqUYm55nZXe2sGNvahgY8zTrbWxKTls/FEEil5hYplrI5MRiNfrfmMX3dvIzMjDU+tN5179GfwY2Or1BpXaSnXWbnkQ/44tB+DXo9/zSCemzqLeg0aqx0NgPGP9iMlObHU/t4PPsxTz09VIVH51n+xjlUrlpGamkL9sAZMnf464RERij1+tS46hQY93kF1adSpFz8uerPMY2qHt6LH2JfM29Y2tkrFA8BYYMA9IJhabbpzZOWcUu2nNi8j9UIULR+bjJOXD9ejjxH1zac4uHnh36StIhkL9HoC6oTQpltfVr0/w7LNoOda3AW6PzSSgNqh6PJy+G75QlbMncYL8z5XJB+AnY2G+CwDBy5n8XRkYKn2pyMDMZlgycF49EUm7g/14rmOtXlrVywFxqr7lfBq27xxFbu2fM0zr8wmsHZdLp4/w6f/eRMnZxf6DBqudjwAcnOyefXZUYQ3a83MeYtw8/AkMf4KLq5uakcze2/xGkwmo3n7Slwsb06ZQLvO3VVMVdr2bVuZP28OM2bOJjy8KevWrOKZcWPZvGU7Wq1WkQzVuujUiWhNnYjWf3uMtY0tzu5eCiUqzbdhS3wbtiy3Pf3SOYJad8M7NByAOu16c+nADjKvXFCs6DRsEUnDFpFltjk6uzDujQ8s9g168gUWTh1HRkoynjV8lYjImeQ8ziSXvS6Lj4sddb2ceHtXLIk5BQCsP57EnL71aBXozm+XMxXJWB2dPxNFy3adadG2IwA+fgH89vMOYqNPq5zspm++WIF3DT+enzbbvM/Pv6aKiUpz9/C02P72y5X4BQTSuGn5r301rFm1gsEPDWXgoCEAzJg5m337fua7Td8w9qmnFcnwr7+mE38uis+eG8qqaWPZs3ohutyqteiVV50GJJ0+jC4zjeLiYlIuRJGbkkCNsGZqRyuXPj8PKysrHJ1d1I4CgI2mZBio0HSzR1MMFBmLCdE6qpSqeqjfKIJTx4+QEH8ZgMux54k+dYJmrdvf5pbKObz/F0IbNGLuG6/w+IBuPD92ODt+2KR2rHIVFhayb9dWuvUeUKWGKAsLCjh75jSR7W4+txqNhsjI9kSdOKZYjmrd07md2uGtCG3ZATdvP7JSEvntmxVs/uA1hs5YgEZjrXY8AMIHj+PExkXsfHM0VhprrKysaDr0WbxDmqgdrUyFBQZ+XPspzTrcj4OTs9pxAEjKMZCeX8iARj58cTyRgiIT3UK1eDrZ4ubwr/4T/8cGDBuFLj+Pl8Y+hEajwWQyMWzUBDrer9w1xdtJSrzGts1fMeDhETw8YiwXzp3m84XzsLG14f7eD6odr5TD+/eSl5tL11791Y5iISMzA6PRWGoYTavVEhd3UbEcqrwiDQYDBoOh0h8nrG0X87+9g4LxDgxm5aujiD8XRa1GzSv98e9E3H+3kH75PG3HzsDRswZpsaeJ2rQEB3cvfOo3UzueBWNREWs+mAnFxQx5+qXb30AhpmL47FA8I5r7M79fGEZTMdEpeZxOyr39jf/HHfzlJ37dvZ1JU98msE4Il2KjWf3JB3hqa9C5Zz+14wFQbDIRGtaIJ56eBEBI/QZciYth++avq2TR2b1tM83btMfLu4baUaokVYrOnDlzmD179u0PvMfcffxxdHEnKzkBqkDRMRYYOLN1DW1GT8OvUcm1KfeAYLIS4ojd+22VKjo3Ck5GSjLjZy2oMr2cG65m6pmzNw4HGw02GityC4y80rkOlzN1aker0tZ+vpABw0fSvmsvAGoFh5KanMjm9SuqTNHx1HoTVKeuxb7A2sH8tm+3SonKdz05kZN/HOaVWe+rHaUUTw9PrK2tSUtLs9iflpaGt7dyM1ErVHQGDx58R8dt2vT3463Tpk1j8uTJFvvc3d0rEuWu5KSnoMvLxtlDvYkFtzKZjBQbi7Cysry0ZmWlobi46sy4ulFwUhLjeWbWhzi7Vv5zdbf0RSYAajjbUsvTgR/OpqicqGorMOhL/f1pNNaYqtDfX8Mmzbh25bLFvoT4K/j4+quUqHx7t3+Pm4cnLSM7qh2lFFs7Oxo2asyhgwfodn/JrDqTycShQwcY/sgIxXJUqOjcq8Jgb2+Pvb39P76fAr2OrOsJ5u2slCRSrsRi7+yKg7MrhzavJbRVR5zdPcm8nsj+jUvx8AmgVhPlZpQUGXTkpd6cv5+fnkzWtYvYOrni5FkDbUgTTv+wAmtbO/Pw2tXf99JkwBjFMhp0+aQmXTNvpycnci3uAk4ubrh5alk9/3Xi484zdtp7mExGsjNKzpScXNywsVVmCrq9tRU1XOzM21onOwLd7ckrMJKhK6J5gCu5BUbS8wup6W7PQ+G+nEjI4dz1sme8iRItIjvx3ZfL8fbxI7B2XS7FRPPjpnV06VV1hq0GPDyCKRNHsXHNMjp27cGFs6fZ8cM3THz5dbWjWTCZTOzZ/j1devbD2rpqXkt8fORoXp/+Ko0bN6FJeARr16xCp9MxcNCddSjuhQr9ZlasWFFZOe7K9Uvn+ea9Kebt/65fAkDDDj3o9sQkUq/GcXb/Txjy83D20FK7SQsiB43ExtauvLu85zKvxrB/8Wvm7VOblwEQ1LobLR55gVaPv8KZH1dzdO1/KMjPxcmrBg37jqCOgh8OvRobzaeznjdvf79qEQCtuvSm59DRnP59PwAfvGxZCMfP+pDQJsoMU9bydOSFTrXN2w9FlEzVPng5kzV/JOLuYMOQcF9cHWzI1hdx6EoW285JL+d2Rk98hY2rPmX5R3PJyszAU+tN976DGTLiKbWjmdVr2Jjpb/+H1Z99xIbVn+HrV5Mnn32FLj36qh3NQtQfh0i9nsT9vQeoHaVcvfv0JSM9ncWLFpKamkJYg4YsXrIUrYLDa1bFVWQcx8rKio/3x6kdo1wTOwQD8MqWcyonKd/7/RoA8H1UkspJyvdghB8AEzadUTlJ+RYPbgRQpYY4/+rGVNw/LlWtjwDcqkWdkg9vnkusur3NBv4l1yZPXs1ROUn5woNcAdAVVt2/R0dbqzt+vfzrP6cjhBCi6pCiI4QQQjFSdIQQQihGio4QQgjFSNERQgihGCk6QgghFCNFRwghhGKk6AghhFCMFB0hhBCKkaIjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUU6WWNhBCCFE9VbulDYqLi+/Zj16vZ+bMmej1+nt6v5Kx6v1Uh4zVJadklIz/5OdOVZmezr2UnZ2Nu7s7WVlZuLm5qR2nTJLx3qgOGaF65JSM94Zk/HtVpqcjhBDi30+KjhBCCMVI0RFCCKGYf2XRsbe3Z+bMmdjb26sdpVyS8d6oDhmheuSUjPeGZPx7/8qJBEIIIaqmf2VPRwghRNUkRUcIIYRipOgIIYRQjBQdIYQQivlXFp0DBw5gbW3NAw88oHaUUkaNGoWVlZX5R6vV0rt3b6KiotSOZiEpKYlJkyZRt25d7O3tCQoKon///uzevVvtaBa/Q1tbW3x9fenRowfLly/HZDKpHc/CX5/vGz+9e/dWO5pZeRljYmLUjmaWlJTE888/T2hoKA4ODvj6+tKhQwc++eQT8vPz1Y7HqFGjGDhwYKn9P//8M1ZWVmRmZiqe6e+Ul1cJ/8qis2zZMiZNmsS+fftISEhQO04pvXv3JjExkcTERHbv3o2NjQ39+vVTO5bZpUuXaNmyJXv27OH999/n5MmTbN++na5duzJx4kS14wE3f4eXLl1i27ZtdO3aleeff55+/fpRVFSkdjwLtz7fN36+/PJLtWNZKCtjcHCw2rEAuHjxIs2bN2fnzp28++67HDt2jAMHDjBlyhS2bNnCrl271I4oKsBG7QD3Wm5uLhs2bOD3338nKSmJlStXMn36dLVjWbC3t8fPzw8APz8/pk6dSqdOnUhJSaFGjRoqp4MJEyZgZWXF4cOHcXZ2Nu9v3LgxY8aMUTHZTbf+DmvWrEmLFi2IjIzk/vvvZ+XKlTz55JMqJ7zp1qxVVVXOOGHCBGxsbPj9998t/h7r1q3LgAEDKvRlk0J9/7qezsaNG2nQoAFhYWGMGDGC5cuXV+k/ytzcXNauXUtoaCharVbtOKSnp7N9+3YmTpxo8QK/wcPDQ/lQd6hbt240bdqUTZs2qR1F3CNpaWns3Lmz3L9HkGVRqpt/XdFZtmwZI0aMAEqGDLKysvjll19UTmVpy5YtuLi44OLigqurK99//z0bNmxAo1H/6YiJiaG4uJgGDRqoHeWuNGjQgEuXLqkdw8Ktz/eNn3fffVftWBb+mvHhhx9WOxJw8+8xLCzMYr+3t7c566uvvqpSOktlPc99+vRRO1aV868aXouOjubw4cN8++23ANjY2DBs2DCWLVtGly5d1A13i65du/LJJ58AkJGRweLFi+nTpw+HDx+mdu3aqmaryr3CO1FcXFzlznxvfb5v8PLyUilN2f6asbxeRVVx+PBhTCYTjz32GAaDQe04QNnP86FDh8wnwaLEv6roLFu2jKKiIgICAsz7iouLsbe3Z9GiRbi7u6uY7iZnZ2dCQ0PN20uXLsXd3Z3PP/+ct99+W8VkUK9ePaysrDh37pyqOe7W2bNnq8wF8Bv++nxXRVU1Y2hoKFZWVkRHR1vsr1u3LgCOjo5qxCpTWb/D+Ph4ldJUXeqP59wjRUVFrF69mv/85z8cP37c/HPixAkCAgKq3GyhW1lZWaHRaNDpdGpHwcvLi169evHxxx+Tl5dXqr2qTf281Z49ezh58iRDhgxRO4q4R7RaLT169GDRokVl/j2K6udf09PZsmULGRkZjB07tlSPZsiQISxbtozx48erlM6SwWAgKSkJKBleW7RoEbm5ufTv31/lZCU+/vhjOnToQJs2bXjzzTeJiIigqKiIn376iU8++YSzZ8+qHdH8OzQajSQnJ7N9+3bmzJlDv379eOKJJ9SOZ+HW5/sGGxsbvL29VUpUvSxevJgOHTrQqlUrZs2aRUREBBqNhiNHjnDu3DlatmypdkRRAf+aorNs2TK6d+9e5hDakCFDmDdvHlFRUURERKiQztL27dvx9/cHwNXVlQYNGvDVV19VmetOdevW5Y8//uCdd97hpZdeIjExkRo1atCyZctSY9ZqufE7tLGxwdPTk6ZNm7Jw4UJGjhxZJSZk3OrW5/uGsLCwajuEqbSQkBCOHTvGu+++y7Rp04iPj8fe3p5GjRrx8ssvM2HCBLUjigqQpQ2EEEIopmqdEgohhPhXk6IjhBBCMVJ0hBBCKEaKjhBCCMVI0RFCCKEYKTpCCCEUI0VHCCGEYqToCCGEUIwUHSGEEIqRoiOEEEIxUnSEEEIoRoqOEEIIxfw/ex1yB86TKxkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.heatmap(Shortest_D_matrix, cmap = 'Blues', \n",
    "            annot = True, fmt = '.0f',\n",
    "            xticklabels = list(G.nodes), \n",
    "            yticklabels = list(G.nodes),\n",
    "            linecolor = 'k', square = True,\n",
    "            cbar = False,\n",
    "            linewidths = 0.2)\n",
    "plt.savefig('Shortest_D_matrix，有向图.svg')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "681e286c-a3c0-4e83-95e1-0c189a7e0ab9",
   "metadata": {},
   "source": [
    "参考：  \n",
    "https://networkx.org/documentation/stable/auto_examples/algorithms/plot_shortest_path.html"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f1be05e9-c7c9-4bd3-91f5-2874b85e4e66",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
